package org.xx.armory.swing.builders;

import org.xx.armory.objectparser.LineInfo;
import org.xx.armory.swing.components.BorderType;

import static org.xx.armory.commons.Validators.notNull;

public class RulerModel
        extends AbstractComponentModel
        implements ComponentModel {
    private int axis;
    private BorderType border;

    /**
     * 构造解析对象。
     *
     * @param lineInfo
     *         源文件中的位置信息。
     * @param name
     *         组件的名字。
     * @param axis
     *         标尺的方向。
     * @param border
     *         标尺的边框类型。
     */
    protected RulerModel(
            LineInfo lineInfo,
            String name,
            boolean visible,
            int axis,
            BorderType border
    ) {
        super(lineInfo, name, visible);

        this.axis = axis;
        this.border = notNull(border, "border");
    }

    public final int getAxis() {
        return this.axis;
    }

    public final BorderType getBorder() {
        return this.border;
    }
}
